file = open('stu.csv','w')
file.writelines(['姓名,性别，年龄\n','李明,男,19\n','杨柳,女,18\n','张一凡,男,18\n','许可,女,20\n','王小小,女,19\n','陈心,女,19\n'])
file.close()
#CSV文件操作
#CSV是指逗号分隔值。CSV文件可以理解为用带逗号分隔符分隔的纯文本形式储存表格数据的文件
#CSV文件可以用记事本，写字板和Excel打开。
#因为不带任何格式信息，所以CSV文件广泛应用于在不同程序之间转移表格数据。CSV文件的分隔符并不限定为逗号，但是作为CSV文件，一般需要具有以下几个特征
#1.纯文本，使用某个字符集，如ASCII，Unicode,EBCDIC或GB2312
#2.由记录组成，一行对应一条记录，每行开头不留空格。
#3.每条记录被英文半角分隔符（可以是逗号，分号，制表符等）分割为多个字段。
#4.每条记录都有同样的字段序列。
#5.如果文件包含字段名，文件中均为字符串。
#6.不包含特殊字符，文件中均为字符串。
#针对CSV文件，Python语言提供了内置同名模版进行读写操作，使用时需要定义reader对象和writer对象

#1.CSV文件的打开
#CSV文件可以用open命令直接打开，用法和文件的打开一样。但是使用open文件打开那么一定要用close函数关闭，对此Python语言引入了with语句用来打开文件，并在文件操作结束后自动关闭文件。具体语法格式如下：
#with open(文件路径字符串，模式字符) as 文件对象:
#    文件操作语句
with open('mydata1.txt','r') as file:
    print(file.readline())
    print(file.readline())

#2.reader对象
#使用csv模块读取CSV文件数据时需要先创建一个reader对象。然后通过迭代遍历reader对象来遍历文件中的每一行。
import csv
with open('stu.csv','r') as stucsv:
    reader = csv.reader(stucsv)
    for row in reader:
        print(row)

#3.writer对象
#用csv模块将数据写入CSV文件时就需要创键writer对象。因为CSV文件都是按行储存的,所以写文件时需要调用writer对象的writerow()方法，将列表储存的一行数据写入文件。下面，依然以stu.csv文件例，通过csv模块的writer对象向文件追加两条新的记录：'张芳','女','20'和'王虎','男','18'
##import csv
##with open('stu.csv','a',newline='')as stucsv:
##    writer = csv.writer(stucsv)
##    writer.writerow(['张芳','女','20'])
##    writer.writerow(['王虎','男','18'])
#一次写入多行数据的演示writerows()函数
import csv
with open('stu.csv','a',newline='')as stucsv:
    writer = csv.writer(stucsv)
    writer.writerows([['张芳','女','20'],['王虎','男','18']])
import csv
with open('stu.csv','r') as stucsv:
    reader = csv.reader(stucsv)
    for row in reader:
        print(row)
    
